//package nm.aleksey.domain;
//
//import java.util.ArrayList;
//import java.util.List;
//
//import javax.persistence.CascadeType;
//import javax.persistence.Column;
//import javax.persistence.Entity;
//import javax.persistence.GeneratedValue;
//import javax.persistence.GenerationType;
//import javax.persistence.Id;
//import javax.persistence.OneToMany;
//import javax.persistence.Table;
//import javax.persistence.Version;
//import javax.validation.constraints.NotNull;
//
//import org.hibernate.validator.constraints.Email;
//
//@Entity
//@Table(name = "T_AUTHOR")
//public class CopyOfAuthor {
//  @Id
//  @GeneratedValue(strategy = GenerationType.IDENTITY)
//  @Column(name = "id")
//  private Long id;
//
//  @NotNull(message = "Имя должно быть указано")
//  private String name;
//
//  @Email(message = "Указан неверный адрес электронной почты")
//  @NotNull(message = "Электронный адрес должен быть указан")
//  private String email;
//
//  @OneToMany(mappedBy = "author", cascade = CascadeType.ALL)
//  private List<Book> books = new ArrayList<Book>();
//
//  @Version
//  @Column(name = "version")
//  private Integer version;
//
//  public List<Book> getBooks() {
//    return books;
//  }
//
//  public String getEmail() {
//    return email;
//  }
//
//  public Long getId() {
//    return id;
//  }
//
//  public String getName() {
//    return name;
//  }
//
//  public Integer getVersion() {
//    return version;
//  }
//
//  public void setBooks(List<Book> books) {
//    this.books = books;
//  }
//
//  public void setEmail(String param) {
//    this.email = param;
//  }
//
//  public void setId(Long id) {
//    this.id = id;
//  }
//
//  public void setName(String param) {
//    this.name = param;
//  }
//
//  public void setVersion(Integer version) {
//    this.version = version;
//  }
//}